package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 配品对象 accessory_item
 *
 * @author ruoyi
 * @date 2025-05-24
 */
public class AccessoryItem extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 配品唯一标识符(主键) */
    private Long id;

    /** 配品完整名称(如"不锈钢螺丝M6*20") */
    @Excel(name = "配品完整名称")
    private String accessoryName;

    /** 配品分类ID(外键关联分类表) */
    @Excel(name = "配品分类ID(外键关联分类表)")
    private Long accessoryCategoryId;

    /** 冗余字段：配品分类名称(便于查询) */
    @Excel(name = "冗余字段：配品分类名称(便于查询)")
    private String accessoryCategoryName;

    /** 配品简写(如"SSS-M620") */
    @Excel(name = "配品简写")
    private String accessoryAbbr;

    /** 配品计量单位(枚举常用单位) */
    @Excel(name = "配品计量单位(枚举常用单位)")
    private String unit;

    /** 配品规格参数(如"直径6mm，长度20mm") */
    @Excel(name = "配品规格参数")
    private String specification;

    /** 配品当前状态 */
    @Excel(name = "配品当前状态")
    private String status;

    /** 是否为标准配品(0:非标准,1:标准件) */
    @Excel(name = "是否为标准配品(0:非标准,1:标准件)")
    private Integer isStandard;

    /** 显示排序权重(数值越小越靠前) */
    @Excel(name = "显示排序权重(数值越小越靠前)")
    private Long sortOrder;

    /** 配品条码(可选) */
    @Excel(name = "配品条码(可选)")
    private String barcode;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date addTime;

    /** 手机号 */
    @Excel(name = "手机号")
    private String phone;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setAccessoryName(String accessoryName)
    {
        this.accessoryName = accessoryName;
    }

    public String getAccessoryName()
    {
        return accessoryName;
    }

    public void setAccessoryCategoryId(Long accessoryCategoryId)
    {
        this.accessoryCategoryId = accessoryCategoryId;
    }

    public Long getAccessoryCategoryId()
    {
        return accessoryCategoryId;
    }

    public void setAccessoryCategoryName(String accessoryCategoryName)
    {
        this.accessoryCategoryName = accessoryCategoryName;
    }

    public String getAccessoryCategoryName()
    {
        return accessoryCategoryName;
    }

    public void setAccessoryAbbr(String accessoryAbbr)
    {
        this.accessoryAbbr = accessoryAbbr;
    }

    public String getAccessoryAbbr()
    {
        return accessoryAbbr;
    }

    public void setUnit(String unit)
    {
        this.unit = unit;
    }

    public String getUnit()
    {
        return unit;
    }

    public void setSpecification(String specification)
    {
        this.specification = specification;
    }

    public String getSpecification()
    {
        return specification;
    }

    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }

    public void setIsStandard(Integer isStandard)
    {
        this.isStandard = isStandard;
    }

    public Integer getIsStandard()
    {
        return isStandard;
    }

    public void setSortOrder(Long sortOrder)
    {
        this.sortOrder = sortOrder;
    }

    public Long getSortOrder()
    {
        return sortOrder;
    }

    public void setBarcode(String barcode)
    {
        this.barcode = barcode;
    }

    public String getBarcode()
    {
        return barcode;
    }

    public void setAddTime(Date addTime)
    {
        this.addTime = addTime;
    }

    public Date getAddTime()
    {
        return addTime;
    }

    public void setPhone(String phone)
    {
        this.phone = phone;
    }

    public String getPhone()
    {
        return phone;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("accessoryName", getAccessoryName())
                .append("accessoryCategoryId", getAccessoryCategoryId())
                .append("accessoryCategoryName", getAccessoryCategoryName())
                .append("accessoryAbbr", getAccessoryAbbr())
                .append("unit", getUnit())
                .append("specification", getSpecification())
                .append("status", getStatus())
                .append("isStandard", getIsStandard())
                .append("sortOrder", getSortOrder())
                .append("barcode", getBarcode())
                .append("remark", getRemark())
                .append("addTime", getAddTime())
                .append("updateTime", getUpdateTime())
                .append("phone", getPhone())
                .toString();
    }
}
